package com.pixelTech.technology.util;

import com.pixelTech.technology.HibernateUtil;

import controll.CasaHibernate;
import controll.CidadeHibernate;
import controll.ConstrutoraHibernate;
import controll.CronogramaHibernate;
import controll.EstadoHibernate;
import controll.GestorHibernate;
import controll.ICasaDAO;
import controll.ICidadeDAO;
import controll.IGestorDAO;
import controll.IConstrutoraDAO;
import controll.ICronogramaDAO;
import controll.IEstadoDAO;
import controll.IImagemDAO;
import controll.IObraDAO;
import controll.IPerfilUsuarioDAO;
import controll.IPeriodoDAO;
import controll.IServicoDAO;
import controll.ITipologiaDAO;
import controll.ITorreDAO;
import controll.ImagemHibernate;
import controll.ObraHibernate;
import controll.PerfilUsuarioHibernate;
import controll.PeriodoHibernate;
import controll.ServicoHibernate;
import controll.TipologiaHibernate;
import controll.TorreHibernate;

public class DAOFactory {

	public static IPerfilUsuarioDAO criaPerfilUsuarioDAO() {
		PerfilUsuarioHibernate perfilUsuarioHibernate = new PerfilUsuarioHibernate();

		perfilUsuarioHibernate.setSessao(HibernateUtil.getSession()
				.getCurrentSession());
		return perfilUsuarioHibernate;
	}

	public static IServicoDAO criaServicoDAO() {
		ServicoHibernate servicoHibernate = new ServicoHibernate();
		servicoHibernate.setSessao(HibernateUtil.getSession()
				.getCurrentSession());
		return servicoHibernate;
	}

	public static IConstrutoraDAO criarConstrutoraDAO() {
		ConstrutoraHibernate construtoraHibernate = new ConstrutoraHibernate();
		construtoraHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return construtoraHibernate;
	}

	public static IPeriodoDAO criarPeriodoDAO() {
		PeriodoHibernate periodoHibernate = new PeriodoHibernate();
		periodoHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return periodoHibernate;
	}

	public static IObraDAO criaObraDAO() {
		ObraHibernate obraHibernate = new ObraHibernate();
		obraHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return obraHibernate;
	}

	public static ICronogramaDAO criaCronogramaDAO() {
		CronogramaHibernate cronogramaHibernate = new CronogramaHibernate();
		cronogramaHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return cronogramaHibernate;
	}

	public static ICidadeDAO criarCidadeDAO() {
		CidadeHibernate cidadeHibernate = new CidadeHibernate();
		cidadeHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return cidadeHibernate;
	}

	public static IEstadoDAO criarEstadoDAO() {
		EstadoHibernate estadoHibernate = new EstadoHibernate();
		estadoHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return estadoHibernate;
	}

	public static IGestorDAO criarGestorDAO() {
		GestorHibernate gestorHibernate = new GestorHibernate();
		gestorHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return gestorHibernate;
	}

	public static IImagemDAO criarImagemDAO() {
		ImagemHibernate imagemHibernate = new ImagemHibernate();
		imagemHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return imagemHibernate;
	}

	public static ITipologiaDAO criarTipologiaDAO() {
		TipologiaHibernate tipologiaHibernate = new TipologiaHibernate();
		tipologiaHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return tipologiaHibernate;
	}

	public static ITorreDAO criarTorreDAO() {
		TorreHibernate torreHibernate = new TorreHibernate();
		torreHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return torreHibernate;
	}

	public static ICasaDAO criarCasaDAO() {
		CasaHibernate casaHibernate = new CasaHibernate();
		casaHibernate.setSessao(HibernateUtil.getSession().getCurrentSession());
		return casaHibernate;
	}
}
